using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("PageTurn")]
	public class PageTurn : MonoBehaviour
	{
		[Attribute38("PageTurn.PageTurningData")]
		public class PageTurningData : MonoClass
		{
			public float m_secondsToWait => method_2<float>("m_secondsToWait");

			public object m_callbackData => method_3<object>("m_callbackData");

			public PageTurningData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public PageTurningData(IntPtr address)
				: this(address, "PageTurningData")
			{
			}
		}

		[Attribute38("PageTurn.TurnPageData")]
		public class TurnPageData : MonoClass
		{
			public GameObject flippingPage => method_3<GameObject>("flippingPage");

			public GameObject otherPage => method_3<GameObject>("otherPage");

			public object callbackData => method_3<object>("callbackData");

			public TurnPageData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public TurnPageData(IntPtr address)
				: this(address, "TurnPageData")
			{
			}
		}

		public string FRONT_PAGE_NAME => method_4("FRONT_PAGE_NAME");

		public string BACK_PAGE_NAME => method_4("BACK_PAGE_NAME");

		public string WAIT_THEN_COMPLETE_PAGE_TURN_COROUTINE => method_4("WAIT_THEN_COMPLETE_PAGE_TURN_COROUTINE");

		public string PAGE_TURN_LEFT_ANIM => method_4("PAGE_TURN_LEFT_ANIM");

		public string PAGE_TURN_RIGHT_ANIM => method_4("PAGE_TURN_RIGHT_ANIM");

		public string PAGE_TURN_MAT_ANIM => method_4("PAGE_TURN_MAT_ANIM");

		public float m_TurnLeftSpeed => method_2<float>("m_TurnLeftSpeed");

		public float m_TurnRightSpeed => method_2<float>("m_TurnRightSpeed");

		public Bounds m_RenderBounds => method_2<Bounds>("m_RenderBounds");

		public Camera m_OffscreenPageTurnCamera => method_3<Camera>("m_OffscreenPageTurnCamera");

		public Camera m_OffscreenPageTurnMaskCamera => method_3<Camera>("m_OffscreenPageTurnMaskCamera");

		public GameObject m_OffscreenPageTurnCameraGO => method_3<GameObject>("m_OffscreenPageTurnCameraGO");

		public GameObject m_MeshGameObject => method_3<GameObject>("m_MeshGameObject");

		public GameObject m_FrontPageGameObject => method_3<GameObject>("m_FrontPageGameObject");

		public GameObject m_BackPageGameObject => method_3<GameObject>("m_BackPageGameObject");

		public GameObject m_TheBoxOuterFrame => method_3<GameObject>("m_TheBoxOuterFrame");

		public float m_RenderOffset => method_2<float>("m_RenderOffset");

		public Vector3 m_initialPosition => method_2<Vector3>("m_initialPosition");

		public PageTurn(IntPtr address, string className)
			: base(address, className)
		{
		}

		public PageTurn(IntPtr address)
			: this(address, "PageTurn")
		{
		}

		public static Vector3 GetWorldScale(Transform transform)
		{
			return MonoClass.smethod_14<Vector3>(TritonHs.MainAssemblyPath, "", "PageTurn", "GetWorldScale", new object[1] { transform });
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void TurnRight(GameObject flippingPage, GameObject otherPage)
		{
			method_9("TurnRight", new Class276.Enum20[2]
			{
				Class276.Enum20.Class,
				Class276.Enum20.Class
			}, flippingPage, otherPage);
		}

		public void TurnLeft(GameObject flippingPage, GameObject otherPage)
		{
			method_9("TurnLeft", new Class276.Enum20[2]
			{
				Class276.Enum20.Class,
				Class276.Enum20.Class
			}, flippingPage, otherPage);
		}

		public void CreateCamera()
		{
			method_8("CreateCamera");
		}

		public void SetupCamera(Camera camera)
		{
			method_8("SetupCamera", camera);
		}

		public void CreateRenderTexture()
		{
			method_8("CreateRenderTexture");
		}

		public void Render(GameObject page)
		{
			method_8("Render", page);
		}

		public void SetBackPageMaterial(Material material)
		{
			method_8("SetBackPageMaterial", material);
		}

		public void SetupMaterial()
		{
			method_8("SetupMaterial");
		}

		public void Show(bool show)
		{
			method_8("Show", show);
		}
	}
}
